X-Git-Url: https://permondes.de/gitweb/Analog_Engine.git/blobdiff_plain/4c9237f9055a40c4c051021ea82fc2c6644a56a2..2faffece4fa04089abbd862d7892386c348ff737:/Damped%20Harmonic%20Osciallator%20scaled.AESL diff --git a/Damped Harmonic Osciallator scaled.AESL b/Damped Harmonic Osciallator scaled.AESL new file mode 100644 index 0000000..cc766f2 --- /dev/null +++ b/Damped Harmonic Osciallator scaled.AESL @@ -0,0 +1,41 @@ +IDENTIFICATION DIVISION +PROGRAM-ID Damped_Oscillator + +ENVIRONMENT DIVISION +ENGINE Anabrid-THAT +TIMEBASE 1ms +REQUIRES COEFFICIENT 5 +REQUIRES INTEGRATOR 2 +REQUIRES INVERTER 1 +REQUIRES SUMMER 2 + +DATA DIVISION +OUTPUT OUT.U y +ALIAS COEFFICIENT.1 InitialPosition +ALIAS COEFFICIENT.2 InitialSpeed +ALIAS COEFFICIENT.3 SpringForce +ALIAS COEFFICIENT.4 Damping # linear to speed +ALIAS COEFFICIENT.5 Mass # 1 / mass + +PROGRAM DIVISION +# Colors being used for wiring +# - black: y0 +# - blue: y0’ +# - green: y0’’ +# - yellow: y’’, y’ +# - red: y +-1 -> InitialPosition -> -y0 # -initial position of the mass +-1 -> InitialSpeed -> y0s’ # y’ is scaled to be within -1..+1 ++1, y0s’, y0s’ -> Summer.1 -> y0’ + +y’’, IC:y0’ -> INTEGRATOR.1 -> -y’ +-y’,IC:-y0 -> INTEGRATOR.2 -> y +y -> SpringForce -> S*y # springforce times displacement +-y’ -> INVERTER.1 -> y’ +y’ -> Damping -> D*y’ # damping times speed +10:S*y, 10:D*y’ -> SUMMER.2 -> -(Dy’+Sy) +-(Dy’+Sy) -> Mass -> -1/m*(Dy’+Sy)=y’’ + +OPERATION DIVISION +MODE REPEAT +OP-TIME 57ms